#ifndef __SHOW_TOP_H__
#define __SHOW_TOP_H__

#include "homepage.h"
#include "show_pic.h"

/**
 * @brief 创建一个主容器
 * 位置在顶部，用于放置时间标签，logo,公告按钮，菜单按钮
 */
extern void create_main_obj(void);

/**
 * @brief 创建时间显示标签
 * 
 * 在主容器内创建时间和日期显示标签
 * 
 */
extern void create_time_label(void);

void show_weather(void);

/**
 * @brief 显示logo图片
 * 在顶部中间位置显示logo
 */
extern void show_logo(void);

/**
 * @brief 初始化图片链表
 * 初始化公告显示的图片
 */
extern void init_image_list(void);

/**
 * @brief 清理图片链表
 * 销毁链表
 */
extern void cleanup_image_list(void);

/**
 * @brief 显示当前节点的图片
 * 显示广告页面当前节点的图片
 */
extern void show_nt_current_image(void);

/**
 * @brief 切换到下一张公告图片
 * 
 */
extern void next_nt_image(void);

/**
 * @brief 切换到上一张公告图片
 * 
 */
extern void prev_nt_image(void);

/**
 * @brief 显示公告图像按钮
 * 
 * 在顶部栏右侧显示公告按钮
 */
extern void create_notice_button(void);

/**
 * @brief 创建公告页面
 * 
 * 创建公告页面的所有UI元素：
 *  半透明覆盖层
 *  公告内容容器
 *  图片显示区域
 *  左右切换按钮
 *  关闭按钮
 *  自动轮播定时器
 */
extern void create_notice_page(void);

/**
 * @brief 显示公告页面
 * 
 * 显示公告页面，隐藏其他内容
 */
extern void show_notice_page(void);

/**
 * @brief 创建菜单按钮
 * 
 * 在顶部栏右侧显示菜单按钮
 */
extern void create_menu_button(void);

/**
 * @brief 创建菜单页面
 * 
 * 创建菜单页面的所有UI元素：
 * - 半透明覆盖层
 * - 侧边菜单容器
 * - Logo显示
 * - 菜单项列表
 * - 关闭按钮
 */
extern void create_menu_page(void);

/**
 * @brief 初始化顶部状态栏所有元素
 * 
 * 一次性初始化顶部状态栏的所有功能模块：
 * 1. 主容器
 * 2. 时间日期显示
 * 3. 天气图标
 * 4. Logo
 * 5. 公告按钮和页面
 * 6. 菜单按钮和页面
 * 
 */
extern void init_top_bar(void);
#endif